<?php
require_once ('Domicilio.php');
require_once ('Reclutador.php');

class Empresa
{

	var $_idEmpresa;
	var $_domicilio;
	var $_razonSocial;
	var $_nombreComercial;
	var $_rfc;
	var $_ramo;
	var $_tamanioEmpresa;
	var $_historiaEmpresa;
	var $_estatusEmpresa;
	var $_subirLogo;
	var $_url;
	var $_mostrarSueldo;
	var $_fechaRegistro;
	var $_logo;
	var $_sucursales;

	function AltaEmpresa($Domicilio, $rfc, $razonSocial, $nombreC, $giro, 
						 $tamanioEmpresa, $historiaEmpresa, $url)
	{
		$db = new DB();
		$sql = 
			"
			INSERT INTO empresa(idDomicilio, rfc, razonSocial, nombrecomercial, ramo, 
							 tamanioEmpresa, historiaEmpresa,estatusEmpresa, url, sucursales)
			VALUES(". $Domicilio .", '". strtoupper($rfc) ."',
			UPPER('". $razonSocial ."'),UPPER('". $nombreC ."'), '". $giro ."', 
			'". $tamanioEmpresa ."', '". $historiaEmpresa ."', 'P','". $url ."', 'f');";
		$db->Conectar();
		$db->Query($sql);
		if($db->FilasAfectadas() == 1)
		{
			$sql =
				"SELECT CURRVAL('empresa_idempresa_seq') AS idEmpresa"; 
				$db->Query($sql);
			$db->Cerrar();
			return $db->Result($db->GetQuery(), 0, "idEmpresa");
		}
		else
		{
			$db->Cerrar();
			return -99;
		}
	}
	
	function ValidaEmpresa($rfc)
	{
		$db = new DB();
		$sql= "SELECT * FROM  empresa  WHERE UPPER(rfc) = '". strtoupper($rfc) ."' AND (sucursales = false OR sucursales IS NULL)";	
		$db->Conectar();
		$db->Query($sql);
		$db->Cerrar();
		if($db->NumLineas() > 0)
			return true;
		else
			return false;
	}

	function ConsultaDatosEmpresa($idEmpresa)
	{
		$db = new DB();
		$sql= "SELECT * FROM  empresa e WHERE e.idEmpresa = ". $idEmpresa;	
		$db->Conectar();
		$db->Query($sql);
		$row = $db->GetArray(0);
		$this->_idEmpresa = $row["idempresa"];
		$this->_razonSocial = $row["razonsocial"];
		$this->_nombreComercial = $row["nombrecomercial"];
		$this->_rfc = $row["rfc"];
		$this->_ramo = $row["ramo"];
		$this->_tamanioEmpresa = $row["tamanioempresa"];
		$this->_historiaEmpresa = $row["historiaempresa"];
		$this->_estatusEmpresa = $row["estatusempresa"];
		$this->_domicilio = $row["iddomicilio"];
		$this->_subirLogo = $row["subirlogo"];
		$this->_url = $row["url"];
		$this->_mostrarSueldo = $row["mostrarsueldo"];
		$this->_fechaRegistro = $row["fecharegistro"];
		$this->_logo = $row["logotipo"];
		$this->_sucursales = $row["sucursales"];
		$db->Cerrar();
	}

	function MostrarEmpresas($busqueda, $estatus)
	{	
		$estatusArray = split("-", $estatus);
		if(count($estatusArray) > 1)
		{
			foreach($estatusArray as $st)
			{
				$status .=  "'". $st ."',";
			}
			$status = substr($status, 0, strlen($status)-1);
		}
		else
			$status = "'". $estatus ."'";
	
		if($busqueda=="")
		{
			return "SELECT * FROM empresa WHERE estatusempresa IN(".$status.") ORDER BY razonsocial ";
		}
		else
		{
			$palabras = split(" ", $busqueda);
			if(count($palabras) > 2)
			{
				foreach($palabras as $palabra)
				{
					$sql.= " AND lower(razonsocial) LIKE '%". strtolower($palabra) ."%'";
				}
			}
			else
				$sql = "AND lower(razonsocial) LIKE '%". strtolower($busqueda) ."%'";
			return "SELECT * FROM empresa WHERE estatusempresa IN(".$status.") ". $sql ."  ORDER BY razonsocial";
		}
	}

	
	function ModificaOpcionesEmpresa($idEmpresa, $logotipo, $estatus, $osueldo, $sucursales)
	{
		if($logotipo == "")
			$logotipo = "f";
			
		if($osueldo == "")
		{
			$osueldo = "f";
			$db = new DB();
			$sql= "
				UPDATE carateristicas_puesto 
				SET
					ocultarsueldo = 'f'
				WHERE 
					idoferta IN(
						SELECT ot.idoferta FROM oferta_trabajo ot, reclutador r, empresa e
						WHERE
						e.idempresa = r.idempresa
						AND
						r.idreclutador = ot.idreclutador
						AND
						e.idEmpresa = ". $idEmpresa .")";
			$db->Conectar();
			$db->Query($sql);
			$db->Cerrar();		
		}

		if($sucursales == "")
			$sucursales = "f";

		$db = new DB();
		$sql= "
			UPDATE empresa 
			SET
			subirlogo ='". $logotipo ."',
			estatusEmpresa ='". $estatus ."',
			mostrarsueldo = '". $osueldo ."',
			sucursales = '". $sucursales ."'
			WHERE idEmpresa = ". $idEmpresa;
		$db->Conectar();
		$db->Query($sql);
		$db->Cerrar();
		return $db->FilasAfectadas();
	}
	
	function ModificaEmpresa($idEmpresa, $idDomicilio, $razonSocial, $nombreC, $giro, 
						 $tamanioEmpresa, $historiaEmpresa,	 $calleNum, $colonia, $delMun, $cp, 
						 $ciudad, $idEstado,$tel1, $tel2, $ext1, $ext2, $fax, $url, $logoNombre)
	{
		$db = new DB();
		$sql= "
			UPDATE empresa 
			SET
				razonsocial = UPPER('".$razonSocial."'),
				nombrecomercial = UPPER('".$nombreC."'),
				ramo = '". $giro ."',
				tamanioempresa ='".$tamanioEmpresa."',
				historiaempresa='".$historiaEmpresa."',
				url = '". $url . "',
				logotipo = '". $logoNombre ."'
			WHERE idEmpresa = ". $idEmpresa;
		$db->Conectar();
		$db->Query($sql);
		$filas = $db->FilasAfectadas();
		$db->Cerrar();
		if($filas == 1)
		{
			$domicilio = new Domicilio();
			$domicilio->ActualizarDomicilio($idDomicilio, $idEstado, $calleNum, $colonia, $delMun, $cp,
						$ciudad, "", $tel1, $tel2, $ext1, $ext2, $fax);
			return 1;
		}
		else
			return 0;
	}
	
	function EliminarImagen($idEmpresa)
	{
		$db = new DB();
		$sql= "
			UPDATE empresa 
			SET
				logotipo = ''
			WHERE 
				idEmpresa = ". $idEmpresa;
		$db->Conectar();
		$db->Query($sql);
		$filas = $db->FilasAfectadas();
		$db->Cerrar();
		return $filas;
	}

	
	function BorrarEmpresa($idEmpresa)
	{
		$db = new DB();
		$db->Conectar();
		$sql = "DELETE empresa WHERE idempresa=". $idEmpresa; 
		$db->Query($sql);
		$db->Cerrar();
	}

	function ModificaRfcEmpresa($idEmpresa, $rfc, $rfcAnterior)
	{
		if($rfc != $rfcAnterior)
		{
			if(!$this->ValidaEmpresa($rfc))
			{
				$db = new DB();
				$sql= "
				UPDATE empresa 
				SET
				rfc = '". strtoupper($rfc) . "'
				WHERE idEmpresa = ". $idEmpresa;
				$db->Conectar();
				$db->Query($sql);
				$db->Cerrar();
				return $db->FilasAfectadas();
			}
			else
				return -99;
		}
	}
	
	function MostrarEmpresasPorLetra($letra)
	{
		return "SELECT razonsocial, idempresa FROM empresa  WHERE 
				razonsocial LIKE '". $letra ."%'
				AND estatusempresa = 'A'
				ORDER BY razonsocial";
	}

	function ObtenerUltimasDiezEmpresas()
	{
		return "SELECT razonsocial, idempresa FROM empresa 
					WHERE estatusempresa = 'A'
					ORDER BY fecharegistro DESC LIMIT 10 OFFSET 0";
	}
	
	function ObtenerEmpresasConLogo()
	{
		return "SELECT idempresa, razonsocial, logotipo FROM empresa WHERE logotipo <> ''";
	}
}
?>
